Go to the first, previous, next, last section, table of contents.
F�r neugierige, die alles wissen wollen.
AllocMem
(AllocVec,
AllocPooled, CreatePool), Allocate
(AllocEntry), AvailMem
, AllocAbs
und vom
Device�BeginIO
ver�ndert.
Oberon-2
und Assembler.
2^40 = 1,0995 TeraByte 1125,9 GigaByte 2^64 = 18446744,074 TeraByte 1,8889465931776e10 GigaByteDie Berechnung wird mit einer "schnellen" 32-Bit Dividierung bewerkstelligt.
Wird vom FastFileSystem V43.x genutzt. => Kein Problem mehr mit Festplatten die eine Kapazit�t von mehr als 4 GigaByte haben. See section 11.1 Wie man 4 GigaByte Festplatten einbindet..
Information �ber diese Befehle sind hier zu finden:
NSDDocs
NSDPatch
SmartFileSystem_SCSIdirect, FastFileSystem V44.5 und ProfiFileSystem-2_SCSIdirect
benutzen diesen Befehl statt der alten trackdisk read/write Befehle.
=> Kein Problem mehr mit Festplatten die eine Kapazit�t von mehr als 4 GigaByte haben.
See section 11.1 Wie man 4 GigaByte Festplatten einbindet..
Alle scsiCMD Befehle werden nicht genutzt, da ich keine Dokumentation dazu habe.
( SCSIProgrammer ) ( (include:scsi/commands.h SCSI-2 include files) ) ( Direct Access devices =da ) ( Write Once devices =wo ) ( CD-ROM devices =cd ) ( Scanner devices =sc ) ( Optical memory devices =om ) ( Sequential access devices =sa ) ( Printer devices =prt) ( Processor devices =cpu) scsiREAD6 =$08 ( da wo cd om )(not tested) scsiREAD10 =$28 ( da wo cd sc om ) scsiREAD12 =$A8 ( wo cd om )(not tested) scsiWRITE6 =$0A ( wo om )(not tested) scsiWRITE10 =$2A ( wo om ) scsiWRITE12 =$AA ( wo om )(not tested)
scsiREAD_BUFFER =$3C ( da wo cd sc om sa prt cpu ) scsiWRITE_BUFFER =$3B ( wo cd sc om sa prt cpu ) scsiUPDATE_BLOCK =$3D ( om )
Read/Write
gelesen/geschrieben werden,
sollten LongWordAlligned
(adr MOD 4=0) ausgerichtet sein, da der Prozessor
dann schneller auf sie zugreifen kann. Das gilt auch f�r Daten die direkt an
ein Device geschickt werden. AllocMem, Allocate... liefern automatisch
eine Adresse die LongWordAlligned ist zur�ck. Sie m�ssen das also nur
beherzigen wenn sie einen Speicherblock manuell zerteilen.
SendIO
statt DoIO
benutzen, wird
der Befehl Async ausgef�hrt. Nicht nur beim Lesen und Schreiben, sondern
auch bei changeState, motor, protStatus, remove, changeNum
... Befehlen.
Beim ersten Start und wenn im Men� Edit/reset to Defaults ausgw�hlt wird, werden folgende Werte benutzt:
Create Icons = FALSE (OFF) Not used FastMemory = 60 KB Not used ChipMemory = 50 KB FastMemFirst = TRUE (ON) View color flash if track moved or deleted = FALSE (OFF) Protect tracks in memory with checksummes = FALSE (OFF) HD Async delay = 4 Sekunden Disk Async delay = 7 Sekunden Device| Pri | Einstellungen --------------------------------------------------------------------- DF0� | 100�|�Removeable Disk, Write Async, Verify write DF1 | 100�|�Removeable Disk, Write Async, Verify write DF2 | 100�|�Removeable Disk, Write Async, Verify write DF3 | 100�|�Removeable Disk, Write Async, Verify write DS0� | 80�|�Removeable Disk, Write Async, Verify write DS1 | �80�|�Removeable Disk, Write Async, Verify write DS2 | �80�|�Removeable Disk, Write Async, Verify write DS3 | �80�|�Removeable Disk, Write Async, Verify write PC0 | 60�|�Removeable Disk, Write Async, Verify write PC1 | �60�|�Removeable Disk, Write Async, Verify write PC2 | �60�|�Removeable Disk, Write Async, Verify write PC3 | �60�|�Removeable Disk, Write Async, Verify write PS0� | 40�|�Removeable Disk, Write Async, Verify write PS1 | �40�|�Removeable Disk, Write Async, Verify write PS2 | �40�|�Removeable Disk, Write Async, Verify write PS3 | �40�|�Removeable Disk, Write Async, Verify write CD0 | 20 | Removeable Disk, WriteRetention HD0 | 0 | Write Async HD1 | 0 | Write Async HD2 | 0 | Write Async HD3 | 0 | Write Async DH0 | 0 | Write Async DH1 | 0 | Write Async DH2 | 0 | Write Async DH3 | 0 | Write Async
Die Return Nummern, k�nnen Mittels Shell Script abgefragt werden.
Sys:Prefs/FDAPref ENVARC:FDA-AfterBoot.prefs USE IF WARN ;FDA is not running RUN Sys:System/FDA ENVARC:FDA-AfterBoot.prefs QUIET ENDIF
Sys:System/FDAView >NIL: Kill-FDA IF NOT WARN ;FDA is running before RUN Sys:System/FDA ENVARC:FDA-AfterBoot.prefs QUIET ENDIF
RUN Sys:System/FDA ENVARC:FDA-AfterBoot.prefs QUIET IF $RC GE 5 ;FDA is running before Sys:Prefs/FDAPref ENVARC:FDA-AfterBoot.prefs USE ENDIF
AlreadyRunning = warn (5) PreferenceCancel = error (10) PreferenceFDAnotRunning = warn (5) NoDeviceCached = fail+1 (20�+1) CanNotCreatePort = fail+2 ReadArgsError = fail+3 CanNotReadPrefs� = fail+4 CanNotCreateTask� = fail+5 AllocSignalError� = fail+6 NoMem� = fail+777-fail
Go to the first, previous, next, last section, table of contents.